#ifndef model_fake_h
#define model_fake_h

typedef struct aero{
        char *nom_aero;
        int numero;
        int piste;
        int place;
        int attente;
        int acces;
        int duree;
        int collision;
        int boucle;
        int x, y;  /* position aeroport sur carte */
}t_aeroport;
        
typedef struct cell{
        int villedepart;
        int villearrivee;
        int distance;
        
}t_chemin;

typedef struct avion{
        int identifiant;
	int type; //Jonathan ajouté : airbus? boegin? jet?
        int depart;
        int arrivee;
	int provenance; //Jonathan ajouté
	int direction; //Jonathan ajouté
        int caburant;
        int consommation;
        int x, y;   /* position avion sur carte */
        int escale[30];
        int sol_air; /* 0 = sol / 1 = air */
        int station; /* 0 = non / 1 = oui */
	int etat; //Jonathan : ajouté
	float avancement; // Jonathan : E [0,1]
}t_avion;


void model_init();
void model_aeroports();
void model_avions();

extern t_aeroport** aeroports;
extern int nb_aeroports;
extern int nb_avions;
extern t_avion** avions;

enum {BOEING,AIRBUS,JET};

//pour la propriété sol_air de t_avion
#define SOL 0
#define AIR 1

//etat de l'avion : RIEN => cas d'un vol
#define RIEN 0

#endif